package main

import "fmt"

type A interface {
	testA()
}

type B interface {
	testB()
}

// 如果一个接口继承了其它接口，那么实现类就要实现所有方法
type C interface {
	A
	B
	testC()
}

// C接口实现
type stu struct {
}

func (s stu) testA() {
	fmt.Println("testA")
}
func (s stu) testB() {
	fmt.Println("testB")
}
func (s stu) testC() {
	fmt.Println("testC")
}

func main() {
	s := stu{}
	s.testA()
	s.testB()
	s.testC()

	fmt.Println("---------------")

	var a A = s
	a.testA()
}
